Skip to content

Conversation

@golharam
Copy link

No description provided.

@golharam golharam changed the base branch from main to fix_python3.13 December 24, 2025 17:48
@golharam golharam changed the base branch from fix_python3.13 to main December 24, 2025 17:48
@golharam golharam changed the title Add Python 3.13 to testing Add Python 3.13 support (and drop Python 3.8, 3.9) Dec 24, 2025
@golharam
Copy link
Author

Tests are failing because:

ImportError: pycurl.cpython-313-x86_64-linux-gnu.so: undefined symbol: Py_TRASHCAN_SAFE_BEGIN

Root cause
arvados imports pycurl
pycurl is a C extension
The pycurl wheel you have installed was compiled against an older Python C API
Python 3.13 removed / changed the internal symbol Py_TRASHCAN_SAFE_BEGIN

At import time, the dynamic loader can’t resolve that symbol → hard failure
So even though the wheel filename says cpython-313, it’s not actually compatible with the final Python 3.13 ABI.
This is a very common failure mode early in a new Python release.
Why you’re seeing it now
GitHub Actions is using Python 3.13.11
pycurl does not yet fully support Python 3.13
arvados has a hard dependency on pycurl

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants